/**
 * 1. node中的任何一个模块(js文件)都被一个外层函数包裹
 *      function (exports, require, module, __filename, __dirname)
 *          1) exports: 用于暴露模块
 *          2) require: 用于引入模块
 *          3) module: 用于暴露模块
 *          4) __filename: 当前文件所在的路径(绝对)
 *          5) __dirname: 当前文件所在文件夹的路径(绝对)
 * 
 * 2. 为什么要有这个外层函数(这个外层函数有什么用作?)
 *      1) 隐藏内部实现
 *      2) 支持CommonJs的模块化
 */

 console.log(arguments.callee.toString())